<?php
App::uses('AppModel', 'Model');
App::uses('Categoria', 'Model');
App::uses('CategoriaDAO', 'Model');
App::uses('Subcategoria', 'Model');
App::uses('SubcategoriaDAO', 'Model');
App::uses('Fornecedor', 'Model');
App::uses('FornecedorDAO', 'Model');
App::uses('Cliente', 'Model');
App::uses('ClienteDAO', 'Model');
App::uses('Usuario', 'Model');
App::uses('UsuarioDAO', 'Model');
App::uses('Produto', 'Model');
App::uses('ProdutoDAO', 'Model');
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

class PainelController extends AppController{
    
    var $name = "Painel";
    
    function index(){
        
    }
    
    /* Relatório */
    function administrador(){
        
    }
    
    function cliente(){
        
    }
    
    function fornecedor(){
        
    }
    
    function editarcontaadmin(){
        
    }
    
    function removercontaadmin(){
        
    }
    
    function editarcontaforn(){
        
    }
    
    function removercontaforn(){
        
    }
    
    function editarcontacli(){
        
    }
    
    function removercontacli(){
        
    }
    
    function criarfornecedor(){
        if ($this->request->is('post')) {
            $forn = new Fornecedor();
            $forn->setCnpj($this->request->data['FornecedorForm']['Cnpj']);
            $forn->setNome($this->request->data['FornecedorForm']['Nome_Fornecedor']);
            $forn->setEmail($this->request->data['FornecedorForm']['E_mail']);
            $forn->setCidade($this->request->data['FornecedorForm']['Cidade']);
            $forn->setCep($this->request->data['FornecedorForm']['Cep']);
            $forn->setBairro($this->request->data['FornecedorForm']['Bairro']);
            $forn->setRazaoSocial($this->request->data['FornecedorForm']['Razao_Social']);
            //$forn->setLogoDir($this->request->data['FornecedorForm']['Logo']);
            $forn->setEstado($this->request->data['FornecedorForm']['Estado']);
            $forn->setRua($this->request->data['FornecedorForm']['Rua']);
            $forn->setNumero($this->request->data['FornecedorForm']['Numero']);
            $forn->setLogin($this->request->data['FornecedorForm']['Login']);
            $forn->setSenha($this->request->data['FornecedorForm']['Senha']);
            $fornecedorDAO = new FornecedorDAO();
                if ($fornecedorDAO->add($forn)) {
                        $this->Session->setFlash(__('Fornecedor cadastrado com sucesso'));
                        $this->redirect(array('action' => 'criarfornecedor'));
                } else {
                        $this->Session->setFlash(__('O fornecedor não pode ser cadastrado. Por favor, tente novamente.'));
                }
        }
    }
    
    function deletefornecedor($fornecedor){
        $fornecedorDAO = new FornecedorDAO();
        if (!$fornecedorDAO->get($fornecedor)) {
                //throw new NotFoundException(__('Invalid categoria'));
                $this->Session->setFlash(__('Atenção. Você não possui este fornecedor cadastrada.'));
        }
        $this->request->onlyAllow('post', 'deletefornecedor');
        if ($fornecedorDAO->remove($fornecedor)) {
                $this->Session->setFlash(__('Fornecedor removido com sucesso'));
                $this->redirect(array('action' => 'removerfornecedores'));
        }
        $this->Session->setFlash(__('Fornecedor não foi removido.'));
        $this->redirect(array('action' => 'removerfornecedores'));
    }
    
    function removerfornecedores(){
        $fornecedorDAO = new FornecedorDAO();
        
        $fornecedoresArray = $fornecedorDAO->getList();
        $this->set('fornecedores', $fornecedoresArray);
    }
    
    function listarfornecedores(){
        $fornecedorDAO = new FornecedorDAO();
        
        $fornecedoresArray = $fornecedorDAO->getList();
        $this->set('fornecedores', $fornecedoresArray);
    }
    
    function criarcliente(){
        if ($this->request->is('post')) {
            $cliente = new Cliente();
            $cliente->setCpf($this->request->data['ClienteForm']['Cpf']);
            $cliente->setNome($this->request->data['ClienteForm']['Nome_Cliente']);
            $cliente->setSexo($this->request->data['ClienteForm']['Sexo']);
//            $dia = $this->request->data['ClienteForm'][['Data_Nascimento']['day']];
//            $mes = $this->request->data['ClienteForm']['data[ClienteForm][Data_Nascimento][month]'];
//            $ano = $this->request->data['ClienteForm']['data[ClienteForm][Data_Nascimento][year]'];
//            $cliente->setDataNasc(date("M d Y", mktime($dia, $mes, $ano)));
            $cliente->setEmail($this->request->data['ClienteForm']['E_mail']);
            $cliente->setTelRes($this->request->data['ClienteForm']['Telefone_Residencial']);
            $cliente->setTelCom($this->request->data['ClienteForm']['Telefone_Comercial']);
            $cliente->setLogin($this->request->data['ClienteForm']['Login']);
            $cliente->setSenha($this->request->data['ClienteForm']['Senha']);
            $clienteDAO = new ClienteDAO();
                if ($clienteDAO->add($cliente)) {
                        $this->Session->setFlash(__('Cliente cadastrado com sucesso'));
                        $this->redirect(array('action' => 'criarcliente'));
                } else {
                        $this->Session->setFlash(__('O Cliente não pode ser cadastrado. Por favor, tente novamente.'));
                }
        }
    }
    
    function deletecliente($cliente){
        $clienteDAO = new ClienteDAO();
        if (!$clienteDAO->get($cliente)) {
                //throw new NotFoundException(__('Invalid categoria'));
                $this->Session->setFlash(__('Atenção. Você não possui este cliente cadastrada.'));
        }
        $this->request->onlyAllow('post', 'deletecliente');
        if ($clienteDAO->remove($cliente)) {
                $this->Session->setFlash(__('Cliente removido com sucesso'));
                $this->redirect(array('action' => 'removerclientes'));
        }
        $this->Session->setFlash(__('Cliente não foi removido.'));
        $this->redirect(array('action' => 'removerclientes'));
    }
    
    function removerclientes(){
        $clienteDAO = new ClienteDAO();
        
        $clientesArray = $clienteDAO->getList();
        $this->set('clientes', $clientesArray);
    }
    
    function listarclientes(){
        $clienteDAO = new ClienteDAO();
        
        $clientesArray = $clienteDAO->getList();
        $this->set('clientes', $clientesArray);
        
    }
    
    function criarcategoria(){
        if ($this->request->is('post')) {
            $categoria = new Categoria();
            $categoria->setNome($this->request->data['CategoriaForm']['Nome']);
            $categoriaDAO = new CategoriaDAO();
                if ($categoriaDAO->add($categoria)) {
                        $this->Session->setFlash(__('Categoria salva com sucesso'));
                        $this->redirect(array('action' => 'criarcategoria'));
                } else {
                        $this->Session->setFlash(__('A categoria não pode ser cadastrada. Por favor, tente novamente.'));
                }
        }
    }
    
    function removercategoria(){
        $categoriaDAO = new CategoriaDAO();
        
        $categoriasArray = $categoriaDAO->getList();
        $this->set('categorias', $categoriasArray);
    }
    
    function deletecategoria($categoria){
        $categoriaDAO = new CategoriaDAO();
        if (!$categoriaDAO->getByNome($categoria)) {
                //throw new NotFoundException(__('Invalid categoria'));
                $this->Session->setFlash(__('Atenção. Você não possui esta categoria cadastrada.'));
        }
        $this->request->onlyAllow('post', 'deletecategoria');
        if ($categoriaDAO->removeByNome($categoria)) {
                $this->Session->setFlash(__('Categoria removida com sucesso'));
                $this->redirect(array('action' => 'removercategoria'));
        }
        $this->Session->setFlash(__('Categoria não foi removida'));
        $this->redirect(array('action' => 'removercategoria'));
    }
    
    function listarcategorias(){
        $categoriaDAO = new CategoriaDAO();
        
        $categoriasArray = $categoriaDAO->getList();
        $this->set('categorias', $categoriasArray);
        
    }
    
    function criarsubcategoria(){
        $categoriaDAO = new CategoriaDAO();
        
        $categoriasArray = $categoriaDAO->getList();
        $this->set('categorias', $categoriasArray);
        if ($this->request->is('post')) {
            $categoria = $categoriaDAO->getByNome($this->request->data['SubcategoriaForm']['Id_Categoria']);
            
            $subcategoria = new Subcategoria();
            $subcategoria->setCategoria($categoria->getIdentificador());
            $subcategoria->setNome($this->request->data['SubcategoriaForm']['Nome_Subcategoria']);
            $subCategoriaDAO = new SubcategoriaDAO();
                if ($subCategoriaDAO->add($subcategoria)) {
                        $this->Session->setFlash(__('Subcategoria salva com sucesso'));
                        $this->redirect(array('action' => 'criarcategoria'));
                } else {
                        $this->Session->setFlash(__('A subcategoria não pode ser cadastrada. Por favor, tente novamente.'));
                }
        }
        
    }
    
    function removersubcategoria(){
        $subcategoriaDAO = new SubcategoriaDAO();
        
        $subcategoriasArray = $subcategoriaDAO->getList();
        $this->set('subcategorias', $subcategoriasArray);
    }
    
    function listarsubcategorias(){
        $subcategoriaDAO = new SubcategoriaDAO();
        
        $subcategoriasArray = $subcategoriaDAO->getList();
        $this->set('subcategorias', $subcategoriasArray);
    }
    
    function detalhescliente($cliente){
        
    }
    
    function detalhesfornecedor($fornecedor){
        
    }
    
    function criarProduto(){
        $produtoDAO = new ProdutoDAO();
        
        $produtosArray = $produtoDAO->getList();
        $this->set('produtos', $produtosArray);
        
        if ($this->request->is('post')) {
            
        }
    }
    
    function editproduto(){
        
    }
    
    function editarproduto($produto = NULL){
        if(isset($produto)){
            $produtoDAO = new ProdutoDAO();

            $produtosArray = $produtoDAO->getList();
            $this->set('produtos', $produtosArray);
        }
    }
    
    function deleteproduto(){
        
    }
    
    function removerproduto(){
        $produtoDAO = new ProdutoDAO();
        
        $produtosArray = $produtoDAO->getList();
        $this->set('produtos', $produtosArray);
    }
    
    function listarprodutos(){
        $produtoDAO = new ProdutoDAO();
        
        $produtosArray = $produtoDAO->getList();
        $this->set('produtos', $produtosArray);
    }
    
    function detalhesproduto($produto){
        
    }
    
    function detalhescarrinho($carrinho){
        
    }
    
}
?>
